diff --git a/ChangeLog b/ChangeLog index 26042c18..def8f386 100644 --- a/ChangeLog +++ b/ChangeLog @@ -34,6 +34,8 @@ CVS code - cut_marked_segment() - Add magic line when cutting a selection including filebot (discovered by DLR, fixed by DLR & Chris) + do_cut_text() + - Don't recenter the line when cutting one line (DLR). - files.c: do_writeout() - Expanded strings to not use %s and ?: to determine diff --git a/cut.c b/cut.c index d69afd30..34ea94dc 100644 --- a/cut.c +++ b/cut.c @@ -194,6 +194,7 @@ int do_cut_text(void) { filestruct *tmp, *fileptr = current; #ifndef NANO_SMALL + int cuttingpartialline = 0; int cuttingtoend = 0; #endif @@ -252,9 +253,12 @@ int do_cut_text(void) } } if (ISSET(MARK_ISSET)) { - if (current->lineno <= mark_beginbuf->lineno) + if (current->lineno <= mark_beginbuf->lineno) { + if (current->lineno == mark_beginbuf->lineno) + cuttingpartialline = 1; cut_marked_segment(current, current_x, mark_beginbuf, mark_beginx, 1); + } else cut_marked_segment(mark_beginbuf, mark_beginx, current, current_x, 1); @@ -264,7 +268,7 @@ int do_cut_text(void) marked_cut = 1; set_modified(); - if (cuttingtoend) + if (cuttingpartialline || cuttingtoend) edit_refresh(); else edit_update(current, CENTER);