mirror of
git://git.sv.gnu.org/nano.git
synced 2024-11-25 06:09:38 +03:00
Rewrapping and reordering a few lines.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5493 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
This commit is contained in:
parent
5834638d53
commit
9a6f62ff67
@ -3,6 +3,7 @@
|
|||||||
'filebot', instead of doing it in four different places each.
|
'filebot', instead of doing it in four different places each.
|
||||||
* src/search.c (goto_line_posx), src/move (do_down): It should not
|
* src/search.c (goto_line_posx), src/move (do_down): It should not
|
||||||
be necessary to doubly check for being at the end of file.
|
be necessary to doubly check for being at the end of file.
|
||||||
|
* src/text.c (do_justify): Rewrap and reorder a few lines.
|
||||||
|
|
||||||
2015-12-07 Benno Schulenberg <bensberg@justemail.net>
|
2015-12-07 Benno Schulenberg <bensberg@justemail.net>
|
||||||
* src/winio.c (edit_draw): Quit the loop when there is no end match.
|
* src/winio.c (edit_draw): Quit the loop when there is no end match.
|
||||||
|
50
src/text.c
50
src/text.c
@ -137,6 +137,7 @@ void do_deletion(undo_type action)
|
|||||||
openfile->current->data = charealloc(openfile->current->data,
|
openfile->current->data = charealloc(openfile->current->data,
|
||||||
strlen(openfile->current->data) + strlen(foo->data) + 1);
|
strlen(openfile->current->data) + strlen(foo->data) + 1);
|
||||||
strcat(openfile->current->data, foo->data);
|
strcat(openfile->current->data, foo->data);
|
||||||
|
|
||||||
#ifndef NANO_TINY
|
#ifndef NANO_TINY
|
||||||
if (openfile->mark_set &&
|
if (openfile->mark_set &&
|
||||||
openfile->mark_begin == openfile->current->next) {
|
openfile->mark_begin == openfile->current->next) {
|
||||||
@ -144,7 +145,6 @@ void do_deletion(undo_type action)
|
|||||||
openfile->mark_begin_x += openfile->current_x;
|
openfile->mark_begin_x += openfile->current_x;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
unlink_node(foo);
|
unlink_node(foo);
|
||||||
renumber(openfile->current);
|
renumber(openfile->current);
|
||||||
openfile->totsize--;
|
openfile->totsize--;
|
||||||
@ -2063,12 +2063,10 @@ void do_justify(bool full_justify)
|
|||||||
for (i = 0; i < par_len - 1; i++) {
|
for (i = 0; i < par_len - 1; i++) {
|
||||||
filestruct *next_line = openfile->current->next;
|
filestruct *next_line = openfile->current->next;
|
||||||
size_t line_len = strlen(openfile->current->data);
|
size_t line_len = strlen(openfile->current->data);
|
||||||
size_t next_line_len =
|
size_t next_line_len = strlen(openfile->current->next->data);
|
||||||
strlen(openfile->current->next->data);
|
|
||||||
|
|
||||||
indent_len = quote_len +
|
indent_len = quote_len +
|
||||||
indent_length(openfile->current->next->data +
|
indent_length(openfile->current->next->data + quote_len);
|
||||||
quote_len);
|
|
||||||
|
|
||||||
next_line_len -= indent_len;
|
next_line_len -= indent_len;
|
||||||
openfile->totsize -= indent_len;
|
openfile->totsize -= indent_len;
|
||||||
@ -2076,35 +2074,30 @@ void do_justify(bool full_justify)
|
|||||||
/* We're just about to tack the next line onto this one. If
|
/* We're just about to tack the next line onto this one. If
|
||||||
* this line isn't empty, make sure it ends in a space. */
|
* this line isn't empty, make sure it ends in a space. */
|
||||||
if (line_len > 0 &&
|
if (line_len > 0 &&
|
||||||
openfile->current->data[line_len - 1] != ' ') {
|
openfile->current->data[line_len - 1] != ' ') {
|
||||||
line_len++;
|
line_len++;
|
||||||
openfile->current->data =
|
openfile->current->data =
|
||||||
charealloc(openfile->current->data,
|
charealloc(openfile->current->data, line_len + 1);
|
||||||
line_len + 1);
|
|
||||||
openfile->current->data[line_len - 1] = ' ';
|
openfile->current->data[line_len - 1] = ' ';
|
||||||
openfile->current->data[line_len] = '\0';
|
openfile->current->data[line_len] = '\0';
|
||||||
openfile->totsize++;
|
openfile->totsize++;
|
||||||
}
|
}
|
||||||
|
|
||||||
openfile->current->data =
|
openfile->current->data = charealloc(openfile->current->data,
|
||||||
charealloc(openfile->current->data, line_len +
|
line_len + next_line_len + 1);
|
||||||
next_line_len + 1);
|
strcat(openfile->current->data, next_line->data + indent_len);
|
||||||
strcat(openfile->current->data, next_line->data +
|
|
||||||
indent_len);
|
|
||||||
|
|
||||||
/* Don't destroy edittop! */
|
|
||||||
if (next_line == openfile->edittop)
|
|
||||||
openfile->edittop = openfile->current;
|
|
||||||
|
|
||||||
#ifndef NANO_TINY
|
#ifndef NANO_TINY
|
||||||
/* Adjust the mark coordinates to compensate for the change
|
/* If needed, adjust the coordinates of the mark. */
|
||||||
* in the next line. */
|
if (openfile->mark_set &&
|
||||||
if (openfile->mark_set && openfile->mark_begin ==
|
openfile->mark_begin == next_line) {
|
||||||
next_line) {
|
|
||||||
openfile->mark_begin = openfile->current;
|
openfile->mark_begin = openfile->current;
|
||||||
openfile->mark_begin_x += line_len - indent_len;
|
openfile->mark_begin_x += line_len - indent_len;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
/* Don't destroy edittop! */
|
||||||
|
if (next_line == openfile->edittop)
|
||||||
|
openfile->edittop = openfile->current;
|
||||||
|
|
||||||
unlink_node(next_line);
|
unlink_node(next_line);
|
||||||
|
|
||||||
@ -2122,8 +2115,7 @@ void do_justify(bool full_justify)
|
|||||||
justify_format(openfile->current, quote_len +
|
justify_format(openfile->current, quote_len +
|
||||||
indent_length(openfile->current->data + quote_len));
|
indent_length(openfile->current->data + quote_len));
|
||||||
|
|
||||||
while (par_len > 0 && strlenpt(openfile->current->data) >
|
while (par_len > 0 && strlenpt(openfile->current->data) > fill) {
|
||||||
fill) {
|
|
||||||
size_t line_len = strlen(openfile->current->data);
|
size_t line_len = strlen(openfile->current->data);
|
||||||
|
|
||||||
indent_len = strlen(indent_string);
|
indent_len = strlen(indent_string);
|
||||||
@ -2147,9 +2139,6 @@ void do_justify(bool full_justify)
|
|||||||
|
|
||||||
assert(break_pos <= line_len);
|
assert(break_pos <= line_len);
|
||||||
|
|
||||||
/* Insert a new line after the current one. */
|
|
||||||
splice_node(openfile->current, make_new_node(openfile->current));
|
|
||||||
|
|
||||||
/* If this paragraph is non-quoted, and autoindent isn't
|
/* If this paragraph is non-quoted, and autoindent isn't
|
||||||
* turned on, set the indentation length to zero so that the
|
* turned on, set the indentation length to zero so that the
|
||||||
* indentation is treated as part of the line. */
|
* indentation is treated as part of the line. */
|
||||||
@ -2160,6 +2149,9 @@ void do_justify(bool full_justify)
|
|||||||
)
|
)
|
||||||
indent_len = 0;
|
indent_len = 0;
|
||||||
|
|
||||||
|
/* Insert a new line after the current one. */
|
||||||
|
splice_node(openfile->current, make_new_node(openfile->current));
|
||||||
|
|
||||||
/* Copy the text after where we're going to break the
|
/* Copy the text after where we're going to break the
|
||||||
* current line to the next line. */
|
* current line to the next line. */
|
||||||
openfile->current->next->data = charalloc(indent_len + 1 +
|
openfile->current->next->data = charalloc(indent_len + 1 +
|
||||||
@ -2175,9 +2167,9 @@ void do_justify(bool full_justify)
|
|||||||
#ifndef NANO_TINY
|
#ifndef NANO_TINY
|
||||||
/* Adjust the mark coordinates to compensate for the change
|
/* Adjust the mark coordinates to compensate for the change
|
||||||
* in the current line. */
|
* in the current line. */
|
||||||
if (openfile->mark_set && openfile->mark_begin ==
|
if (openfile->mark_set &&
|
||||||
openfile->current && openfile->mark_begin_x >
|
openfile->mark_begin == openfile->current &&
|
||||||
break_pos) {
|
openfile->mark_begin_x > break_pos) {
|
||||||
openfile->mark_begin = openfile->current->next;
|
openfile->mark_begin = openfile->current->next;
|
||||||
openfile->mark_begin_x -= break_pos - indent_len;
|
openfile->mark_begin_x -= break_pos - indent_len;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user