mirror of
git://git.sv.gnu.org/nano.git
synced 2024-11-25 06:09:38 +03:00
Improving comments and combining two conditions.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5385 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
This commit is contained in:
parent
4a1835fd93
commit
df80bfd2fc
@ -3,6 +3,8 @@
|
||||
on, the mark's pointer needs to be refreshed only when it is on the
|
||||
same line as the cursor, and the mark's x coordinate only when the
|
||||
mark is located after the cursor. This fixes Savannah bug #46347.
|
||||
* src/nano.c (copy_from_filestruct): Improve comments and combine
|
||||
two conditions.
|
||||
|
||||
2015-10-29 Benno Schulenberg <bensberg@justemail.net>
|
||||
* src/text.c (add_undo): Only skip adding an undo when the current
|
||||
|
26
src/nano.c
26
src/nano.c
@ -451,11 +451,12 @@ void copy_from_filestruct(filestruct *somebuffer)
|
||||
while (openfile->filebot->next != NULL)
|
||||
openfile->filebot = openfile->filebot->next;
|
||||
|
||||
/* Restore the current line and cursor position. If the mark begins
|
||||
* inside the partition, adjust the mark coordinates to compensate
|
||||
* for the change in the current line. */
|
||||
/* Put the cursor at the end of the pasted text. */
|
||||
openfile->current = openfile->filebot;
|
||||
openfile->current_x = strlen(openfile->filebot->data);
|
||||
|
||||
/* Refresh the mark's pointer, and compensate the mark's
|
||||
* x coordinate for the change in the current line. */
|
||||
if (openfile->fileage == openfile->filebot) {
|
||||
#ifndef NANO_TINY
|
||||
if (openfile->mark_set && single_line) {
|
||||
@ -464,20 +465,17 @@ void copy_from_filestruct(filestruct *somebuffer)
|
||||
openfile->mark_begin_x += openfile->current_x;
|
||||
}
|
||||
#endif
|
||||
/* When the pasted stuff contains no newline, adjust the cursor's
|
||||
* x coordinate for the text that is before the pasted stuff. */
|
||||
openfile->current_x += current_x_save;
|
||||
}
|
||||
#ifndef NANO_TINY
|
||||
else if (openfile->mark_set) {
|
||||
if (right_side_up) {
|
||||
if (single_line)
|
||||
/* Get the new data, stuff was inserted on the mark line. */
|
||||
openfile->mark_begin = openfile->fileage;
|
||||
/* The x is okay, it did not move. */
|
||||
} else {
|
||||
if (single_line) {
|
||||
openfile->mark_begin = openfile->current;
|
||||
openfile->mark_begin_x += openfile->current_x - current_x_save;
|
||||
}
|
||||
else if (openfile->mark_set && single_line) {
|
||||
if (right_side_up)
|
||||
openfile->mark_begin = openfile->fileage;
|
||||
else {
|
||||
openfile->mark_begin = openfile->current;
|
||||
openfile->mark_begin_x += openfile->current_x - current_x_save;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user