diff --git a/ChangeLog b/ChangeLog index 785da688..d4d38b88 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,6 +4,8 @@ typing text is broken by an undo+redo. Fixes Savannah bug #46323. * src/text.c (do_redo): Check for "nothing to redo" earlier, so we can restore the possible warning about an internal error. + * src/text.c (add_undo): Remove an 'if' that will never be true, + and remove some assignments that have already been done. 2015-10-29 David Lawrence Ramsey * src/files.c (do_writeout), src/nano.c (no_current_file_name_warning, diff --git a/src/text.c b/src/text.c index c24ddeb1..5c1c8518 100644 --- a/src/text.c +++ b/src/text.c @@ -1026,12 +1026,8 @@ void add_undo(undo_type action) if (!cutbuffer) statusbar(_("Internal error: cannot set up uncut. Please save your work.")); else { - if (u->cutbuffer) - free_filestruct(u->cutbuffer); u->cutbuffer = copy_filestruct(cutbuffer); - u->mark_begin_lineno = fs->current->lineno; - u->mark_begin_x = fs->current_x; - u->lineno = fs->current->lineno + cutbottom->lineno - cutbuffer->lineno; + u->lineno += cutbottom->lineno - cutbuffer->lineno; u->mark_set = TRUE; } break;