From 5765e9675f21f7fbc40fb74387557e2e4bfba36d Mon Sep 17 00:00:00 2001 From: Benno Schulenberg Date: Sun, 3 Jan 2016 15:35:52 +0000 Subject: [PATCH] Letting 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 git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5523 35c25a1d-7b9e-4130-9fde-d3aeb78583b8 --- ChangeLog | 5 +++++ src/nano.c | 3 ++- src/text.c | 3 --- 3 files changed, 7 insertions(+), 4 deletions(-) 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. */ -- 2.39.5