]> git.wh0rd.org Git - nano.git/commitdiff
fix more find_paragraph() breakage
authorDavid Lawrence Ramsey <pooka109@gmail.com>
Fri, 11 Nov 2005 03:55:52 +0000 (03:55 +0000)
committerDavid Lawrence Ramsey <pooka109@gmail.com>
Fri, 11 Nov 2005 03:55:52 +0000 (03:55 +0000)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@3159 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

src/text.c

index af22303e787ab0f1cb0fc3cda3867a328028a01a..145f1903f262f4944748df811a7dea0aba1b011d 100644 (file)
@@ -1057,13 +1057,18 @@ bool find_paragraph(size_t *const quote, size_t *const par)
 
     assert(openfile->current != NULL);
 
-    /* Find the first line of the current or next paragraph.  First, if
-     * the current line isn't in a paragraph, move forward to the line
-     * after the last line of the next paragraph, if any.  If we end up
-     * on the same line, or the line before that isn't in a paragraph, it
-     * means that there aren't any paragraphs left, so get out.
-     * Otherwise, move back to the last line of the paragraph.  If the
-     * current line is in a paragraph and it isn't the first line of
+    /* If we're at the end of the last line of the file, it means that
+     * there aren't any paragraphs left, so get out. */
+    if (openfile->current == openfile->filebot && openfile->current_x ==
+       strlen(openfile->filebot->data))
+       return FALSE;
+
+    /* If the current line isn't in a paragraph, move forward to the
+     * line after the last line of the next paragraph, if any.  If we
+     * end up on the same line, or the line before that isn't in a
+     * paragraph, it means that there aren't any paragraphs left, so get
+     * out.  Otherwise, move back to the last line of the paragraph.  If
+     * the current line is in a paragraph and it isn't the first line of
      * that paragraph, move back to the first line. */
     if (!inpar(openfile->current)) {
        current_save = openfile->current;
@@ -1080,8 +1085,8 @@ bool find_paragraph(size_t *const quote, size_t *const par)
     /* Now current is the first line of the paragraph.  Set quote_len to
      * the quotation length of that line, and set par_len to the number
      * of lines in this paragraph.  If, while calculating the latter, we
-     * end up past the beginning of the line, it means that we're on the
-     * last line of the file, and the file doesn't end in a newline.  If
+     * end up past the beginning of the line, it means that we're at the
+     * end of the last line of the file, and the line isn't blank.  If
      * we were at the same place before, there aren't any paragraphs
      * left, so get out.  Otherwise, the last line of the file is part
      * of this paragraph. */