]> git.wh0rd.org Git - nano.git/commitdiff
more do_justify() breakage fixes, and miscellaneous comment fixes
authorDavid Lawrence Ramsey <pooka109@gmail.com>
Wed, 9 Nov 2005 23:06:44 +0000 (23:06 +0000)
committerDavid Lawrence Ramsey <pooka109@gmail.com>
Wed, 9 Nov 2005 23:06:44 +0000 (23:06 +0000)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@3137 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

src/text.c

index d7743bdce9f5c68255931a9250d6d9170091ee49..b68c3202cf4b82b1c438a0ed7a07ed949dfa4e47 100644 (file)
@@ -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;