diff --git a/ChangeLog b/ChangeLog index 622a763f..abc65fea 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2016-01-03 Benno Schulenberg + * src/text.c (do_deletion), src/nano.c (do_input): Let reset_multis() + figure out whether after a deletion a full refresh is needed, before + doing a redraw of the current line. This fixes Savannah bug #46794. + 2016-01-02 Benno Schulenberg * src/text.c (do_spell, do_formatter): Plug three tiny memory leaks. * src/text.c (do_alt_speller, do_formatter): There is no need here to diff --git a/src/nano.c b/src/nano.c index 07607467..e7af9b06 100644 --- a/src/nano.c +++ b/src/nano.c @@ -1738,7 +1738,8 @@ int do_input(bool allow_funcs) #endif edit_refresh(); edit_refresh_needed = FALSE; - } + } else if (s->scfunc == do_delete || s->scfunc == do_backspace) + update_line(openfile->current, openfile->current_x); } } } diff --git a/src/text.c b/src/text.c index c8313ef4..75a4f016 100644 --- a/src/text.c +++ b/src/text.c @@ -161,9 +161,6 @@ void do_deletion(undo_type action) #endif set_modified(); - - if (edit_refresh_needed == FALSE) - update_line(openfile->current, openfile->current_x); } /* Delete the character under the cursor. */