From 3ba29535a3721bdaf9a8084a41308161179a22ce Mon Sep 17 00:00:00 2001 From: Chris Allegretta Date: Sun, 10 Jun 2001 20:41:20 +0000 Subject: [PATCH] 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) git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@680 35c25a1d-7b9e-4130-9fde-d3aeb78583b8 --- BUGS | 3 +++ ChangeLog | 3 +++ cut.c | 9 +++++++++ 3 files changed, 15 insertions(+) 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;