Refreshing the mark's pointer only when it is on the same line as the cursor,
and recalculating the mark's x coordinate only when the mark comes after it. Also correcting the recalculation in one case. git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5384 35c25a1d-7b9e-4130-9fde-d3aeb78583b8master
parent
c67ab656dc
commit
4a1835fd93
|
@ -1,3 +1,9 @@
|
||||||
|
2015-10-31 Benno Schulenberg <bensberg@justemail.net>
|
||||||
|
* src/nano.c (copy_from_filestruct): When pasting while the mark is
|
||||||
|
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.
|
||||||
|
|
||||||
2015-10-29 Benno Schulenberg <bensberg@justemail.net>
|
2015-10-29 Benno Schulenberg <bensberg@justemail.net>
|
||||||
* src/text.c (add_undo): Only skip adding an undo when the current
|
* src/text.c (add_undo): Only skip adding an undo when the current
|
||||||
action equals the last action. This condition is needed for when
|
action equals the last action. This condition is needed for when
|
||||||
|
|
|
@ -458,7 +458,7 @@ void copy_from_filestruct(filestruct *somebuffer)
|
||||||
openfile->current_x = strlen(openfile->filebot->data);
|
openfile->current_x = strlen(openfile->filebot->data);
|
||||||
if (openfile->fileage == openfile->filebot) {
|
if (openfile->fileage == openfile->filebot) {
|
||||||
#ifndef NANO_TINY
|
#ifndef NANO_TINY
|
||||||
if (openfile->mark_set) {
|
if (openfile->mark_set && single_line) {
|
||||||
openfile->mark_begin = openfile->current;
|
openfile->mark_begin = openfile->current;
|
||||||
if (!right_side_up)
|
if (!right_side_up)
|
||||||
openfile->mark_begin_x += openfile->current_x;
|
openfile->mark_begin_x += openfile->current_x;
|
||||||
|
@ -476,9 +476,8 @@ void copy_from_filestruct(filestruct *somebuffer)
|
||||||
} else {
|
} else {
|
||||||
if (single_line) {
|
if (single_line) {
|
||||||
openfile->mark_begin = openfile->current;
|
openfile->mark_begin = openfile->current;
|
||||||
openfile->mark_begin_x -= current_x_save;
|
openfile->mark_begin_x += openfile->current_x - current_x_save;
|
||||||
} else
|
}
|
||||||
openfile->mark_begin_x -= openfile->current_x;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue