From df543e78df938e2edf9a6b9e4c4cb55fd4b8829e Mon Sep 17 00:00:00 2001
From: Chris Allegretta <chrisa@asty.org>
Date: Sun, 12 Apr 2009 06:13:16 +0000
Subject: [PATCH] - Remove a debug line I left in - Fix undo line split
 uglyness.  Still not perfect but switching work envs.

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4390 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
---
 src/text.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/text.c b/src/text.c
index 28ab0672..3b7f9a26 100644
--- a/src/text.c
+++ b/src/text.c
@@ -475,9 +475,8 @@ void do_undo(void)
 	break;
     case SPLIT:
 	undidmsg = _("line split");
-	fprintf(stderr, "u->strdata = \"%s\"\n", u->strdata);
 	f->data = nrealloc(f->data, strlen(f->data) + strlen(u->strdata) + 1);
-	strcat(f->data, u->strdata);
+	strcpy(&f->data[strlen(f->data) - 1], u->strdata);
 	if (u->xflags & UNDO_SPLIT_MADENEW) {
 	    filestruct *foo = openfile->current->next;
 	    unlink_node(foo);
@@ -843,6 +842,7 @@ void add_undo(undo_type current_action)
     fs->undotop = u;
     fs->current_undo = u;
     u->strdata = NULL;
+    u->strdata2 = NULL;
     u->cutbuffer = NULL;
     u->cutbottom  = NULL;
     u->mark_set = 0;
@@ -882,7 +882,10 @@ void add_undo(undo_type current_action)
 #endif
 	);
 	u->strdata = mallocstrcpy(NULL, &openfile->current->data[wrap_loc]);
-	u->strdata2 = mallocstrcpy(NULL, fs->current->next->data);
+	/* Don't both saving the next line if we're not prepending as a new line
+	   will be created */
+	if (prepend_wrap)
+	    u->strdata2 = mallocstrcpy(NULL, fs->current->next->data);
 	break;
     case INSERT:
     case REPLACE:
-- 
GitLab