diff --git a/BUGS b/BUGS index 8e2b913a..932e140c 100644 --- a/BUGS +++ b/BUGS @@ -114,6 +114,9 @@ properly (discovered by David Lawrence Ramsey) (59) [FIXED]. - On BSD systems, marked cutting sna paste often screws up the last line in the cutbuffer (discovered by Barry Pederson) (60) [FIXED] +- Blank lines are not kept when cutting with -k (discovered by Rocco) + (61) [FIXED]. + ** Open BUGS ** diff --git a/ChangeLog b/ChangeLog index e4e17585..05118e5a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -50,6 +50,9 @@ Cvs code - - Added 'destructive' argument. Allows the selected text to be added to the cutbuffer without changing the contents of the file. This allows writing selection to separate files. + do_cut_text() + - If the next line is empty when using -k, create a dummy line + and add it to the cutbuffer (fixes bug #61) - faq.html: - Brought the FAQ up to date, many little changes (Jordi). - files.c: diff --git a/cut.c b/cut.c index 1532e4e8..a0466605 100644 --- a/cut.c +++ b/cut.c @@ -184,6 +184,15 @@ int do_cut_text(void) #ifndef NANO_SMALL if (ISSET(CUT_TO_END) && !ISSET(MARK_ISSET)) { if (current_x == strlen(current->data)) { + + /* If the next line is empty, create a dummy line and add it + to the cutbuffer */ + if (current->next != NULL && strlen(current->next->data) == 0) { + filestruct *junk; + + junk = copy_node(current->next); + add_to_cutbuffer(junk); + } do_delete(); SET(KEEP_CUTBUFFER); marked_cut = 2;