From: David Lawrence Ramsey Date: Tue, 22 Mar 2005 01:53:57 +0000 (+0000) Subject: in find_paragraph(), fix a problem where a search for the next paragraph X-Git-Tag: v1.3.7~48 X-Git-Url: https://git.wh0rd.org/?a=commitdiff_plain;h=6b94e95ec9fab2295845df1a1c44894274d50b25;p=nano.git in find_paragraph(), fix a problem where a search for the next paragraph would skip over certain cases of one-line paragraphs git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@2413 35c25a1d-7b9e-4130-9fde-d3aeb78583b8 --- diff --git a/ChangeLog b/ChangeLog index f167df34..db3513f1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -21,6 +21,9 @@ CVS code - - Fix erroneous #ifdef that resulted in the -d/--rebinddelete and -k/--cut options' not being printed when NANO_SMALL was defined. (DLR) + find_paragraph() + - Fix problem where a search for the next paragraph would skip + over certain cases of one-line paragraphs. (DLR) do_justify() - Instead of breaking a line at a space and readding the space afterwards, just break the line after the space, as it's more diff --git a/src/nano.c b/src/nano.c index 1f805ec9..ba088228 100644 --- a/src/nano.c +++ b/src/nano.c @@ -2887,17 +2887,20 @@ bool find_paragraph(size_t *const quote, size_t *const par) /* 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 end of the next paragraph. 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, if the - * current line is in a paragraph and it isn't the first line of - * that paragraph, move back to the first line. */ + * after the last line of the next paragraph. 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(current)) { filestruct *current_save = current; do_para_end(FALSE); if (current == current_save || !inpar(current->prev)) return FALSE; + if (current->prev != NULL) + current = current->prev; } if (!begpar(current)) do_para_begin(FALSE);