]> git.wh0rd.org Git - nano.git/commitdiff
do_cut_text() - If the next line is empty when using -k, create a dummy line and...
authorChris Allegretta <chrisa@asty.org>
Sun, 10 Jun 2001 20:41:20 +0000 (20:41 +0000)
committerChris Allegretta <chrisa@asty.org>
Sun, 10 Jun 2001 20:41:20 +0000 (20:41 +0000)
git-svn-id: svn://svn.savannah.gnu.org/nano/branches/nano_1_0_branch/nano@680 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

BUGS
ChangeLog
cut.c

diff --git a/BUGS b/BUGS
index 3cddb9db7ae079f6ffa7dc754adb2a9c16e81385..37ecb86b7e2a6a4a104c4b0ddd2fbb584b0fda3c 100644 (file)
--- a/BUGS
+++ b/BUGS
   properly (discovered by David Lawrence Ramsey) (59) [FIXED].
 - On BSD systenms, 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 **
 
index 609f3c8840cfeff8b245705451397a14319a6b83..77e03c0644245a4dda9b8d6b4d8823c8ccd1ac1f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,9 @@ CVS code -
   cut_marked_segment()
        - Add bizarre copy of bot node, else *BSD goes ballistic (fixes
          BUG #60)
+  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)
 - files.c:
   do_browser()
        - Don't shift the size of the file is it's less than 1K. Fixed
diff --git a/cut.c b/cut.c
index 487a92cb815f252815705ae823484210a3e2360e..3debe206cea58198fa320af3bf4c2f213b4c6ddd 100644 (file)
--- a/cut.c
+++ b/cut.c
@@ -164,6 +164,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;