tweaks: frob some comments, and rename two parameters to make sense

master
Benno Schulenberg 2018-05-18 12:48:45 +02:00
parent 455899fe27
commit 4d232a4aef
1 changed files with 27 additions and 36 deletions

View File

@ -1900,21 +1900,16 @@ bool indents_match(const char *a_line, size_t a_indent, const char
return (b_indent <= a_indent && strncmp(a_line, b_line, b_indent) == 0);
}
/* Is foo the beginning of a paragraph?
/* Return TRUE when the given line is the beginning of a paragraph.
*
* A line of text consists of a "quote part", followed by an
* "indentation part", followed by text. The functions quote_length()
* and indent_length() calculate these parts.
* A line consists of a "quote part", followed by an "indentation part",
* followed by a "text part". Each of these parts can be empty. A line
* is part of a paragraph if it has a non-empty text part.
*
* A line is "part of a paragraph" if it has a part not in the quote
* part or the indentation.
*
* A line is "the beginning of a paragraph" if it is part of a
* paragraph and
* A line is "the beginning of a paragraph" if it has a text part AND
* 1) it is the top line of the file, or
* 2) the line above it is not part of a paragraph, or
* 3) the line above it does not have precisely the same quote
* part, or
* 3) the line above it has a different quote part, or
* 4) the indentation of this line is not an initial substring of
* the indentation of the previous line, or
* 5) this line has no quote part and some indentation, and
@ -1923,52 +1918,52 @@ bool indents_match(const char *a_line, size_t a_indent, const char
* then an indented line is expected to start a paragraph, as in
* books. Thus, nano can justify an indented paragraph only if
* autoindent is turned on. */
bool begpar(const filestruct *const foo)
bool begpar(const filestruct *const line)
{
size_t quote_len, indent_len, temp_id_len;
if (foo == NULL)
if (line == NULL)
return FALSE;
/* Case 1). */
if (foo == openfile->fileage)
if (line == openfile->fileage)
return TRUE;
quote_len = quote_length(foo->data);
indent_len = indent_length(foo->data + quote_len);
quote_len = quote_length(line->data);
indent_len = indent_length(line->data + quote_len);
/* Not part of a paragraph. */
if (foo->data[quote_len + indent_len] == '\0')
if (line->data[quote_len + indent_len] == '\0')
return FALSE;
/* Case 3). */
if (!quotes_match(foo->data, quote_len, foo->prev->data))
if (!quotes_match(line->data, quote_len, line->prev->data))
return TRUE;
temp_id_len = indent_length(foo->prev->data + quote_len);
temp_id_len = indent_length(line->prev->data + quote_len);
/* Case 2) or 5) or 4). */
if (foo->prev->data[quote_len + temp_id_len] == '\0' ||
if (line->prev->data[quote_len + temp_id_len] == '\0' ||
(quote_len == 0 && indent_len > 0 && !ISSET(AUTOINDENT)) ||
!indents_match(foo->prev->data + quote_len, temp_id_len,
foo->data + quote_len, indent_len))
!indents_match(line->prev->data + quote_len, temp_id_len,
line->data + quote_len, indent_len))
return TRUE;
return FALSE;
}
/* Is foo inside a paragraph? */
bool inpar(const filestruct *const foo)
/* Return TRUE when the given line is part of a paragraph. */
bool inpar(const filestruct *const line)
{
size_t quote_len;
if (foo == NULL)
if (line == NULL)
return FALSE;
quote_len = quote_length(foo->data);
quote_len = quote_length(line->data);
return (foo->data[quote_len + indent_length(foo->data +
quote_len)] != '\0');
return (line->data[quote_len +
indent_length(line->data + quote_len)] != '\0');
}
/* Move the next par_len lines, starting with first_line, into the
@ -2045,15 +2040,11 @@ void backup_lines(filestruct *first_line, size_t par_len)
* beginning of the next paragraph if we're not. Afterwards, save the
* quote length and paragraph length in *quote and *par. Return TRUE if
* we found a paragraph, and FALSE if there was an error or we didn't
* find a paragraph.
*
* See the comment at begpar() for more about when a line is the
* beginning of a paragraph. */
* find a paragraph. */
bool find_paragraph(size_t *const quote, size_t *const par)
{
size_t quote_len;
/* Length of the initial quotation of the paragraph we search
* for. */
/* Length of the initial quotation of the paragraph we search for. */
size_t par_len;
/* Number of lines in the paragraph we search for. */
filestruct *current_save;
@ -2119,8 +2110,8 @@ bool find_paragraph(size_t *const quote, size_t *const par)
return TRUE;
}
/* If full_justify is TRUE, justify the entire file. Otherwise, justify
* the current paragraph. */
/* Justify the current paragraph, and justify the entire file when
* full_justify is TRUE. */
void do_justify(bool full_justify)
{
filestruct *first_par_line = NULL;