commit af5a9997fd5d0d104c4f9ea815eae00e9440ffd6
parent c82bc8ba84f1ab20beabeeb9948c535110f96a0d
Author: David Lawrence Ramsey <pooka109@gmail.com>
Date: Wed, 9 Nov 2005 23:06:44 +0000
more do_justify() breakage fixes, and miscellaneous comment fixes
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@3137 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
Diffstat:
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/src/text.c b/src/text.c
@@ -947,7 +947,7 @@ bool inpar(const filestruct *const foo)
quote_len)] != '\0');
}
-/* Put the next par_len lines, starting with first_line, into the
+/* Move the next par_len lines, starting with first_line, into the
* justify buffer, leaving copies of those lines in place. Assume that
* par_len is greater than zero, and that there are enough lines after
* first_line. Return the new copy of first_line. */
@@ -1203,9 +1203,10 @@ void do_justify(bool full_justify)
* to the justify buffer. */
if (first_par_line == NULL)
first_par_line = backup_lines(openfile->current,
- full_justify ? ((openfile->current ==
- openfile->filebot) ? 1 : openfile->filebot->lineno -
- openfile->current->lineno) : par_len);
+ full_justify ? (openfile->filebot->lineno -
+ openfile->current->lineno +
+ (openfile->filebot->data[0] != '\0') ? 1 : 0) :
+ par_len);
/* Initialize indent_string to a blank string. */
indent_string = mallocstrcpy(NULL, "");
@@ -1448,10 +1449,11 @@ void do_justify(bool full_justify)
/* Partition the filestruct so that it contains only the
* text of the justified paragraph. */
filepart = partition_filestruct(first_par_line, 0,
- last_par_line, strlen(last_par_line->data));
+ last_par_line, (last_par_line == openfile->filebot) ?
+ strlen(last_par_line->data) : 0);
/* Remove the text of the justified paragraph, and
- * put the text in the justify buffer in its place. */
+ * replace it with the text in the justify buffer. */
free_filestruct(openfile->fileage);
openfile->fileage = jusbuffer;
openfile->filebot = jusbottom;