commit 56cfab3df629fabf1b66f5e5f2b5658b0e2d1a04
parent 2163d961a1e91e4d271a63c9d06fe657ad87a8d7
Author: Benno Schulenberg <bensberg@justemail.net>
Date: Thu, 18 Feb 2016 16:31:02 +0000
Fixing Savannah bug #47127 the proper way,
eliding two silly calls of edit_redraw().
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5650 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
Diffstat:
4 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -1,3 +1,7 @@
+2016-02-18 Benno Schulenberg <bensberg@justemail.net>
+ * src/search.c (do_replace_loop), src/text.c (do_int_spell_fix),
+ src/winio.c (edit_refresh): Fix Savannah bug #47127 the proper way.
+
2016-02-16 Benno Schulenberg <bensberg@justemail.net>
* src/files.c (initialize_buffer_text): Delete redundant assignment.
diff --git a/src/search.c b/src/search.c
@@ -708,10 +708,7 @@ ssize_t do_replace_loop(
xpt, strnlenpt(openfile->current->data,
openfile->current_x + match_len) - xpt, FALSE);
- /* If the match is offscreen, center it; otherwise, let it be. */
- edit_redraw(openfile->current, openfile->placewewant);
-
- /* Now refresh the entire edit window, in case it scrolled. */
+ /* Refresh the edit window, scrolling it if necessary. */
edit_refresh();
/* Don't show cursor, to not distract from highlighted match. */
diff --git a/src/text.c b/src/text.c
@@ -2414,7 +2414,6 @@ bool do_int_spell_fix(const char *word)
xpt, strnlenpt(openfile->current->data,
openfile->current_x + match_len) - xpt, FALSE);
- edit_redraw(openfile->current, openfile->placewewant);
edit_refresh();
do_replace_highlight(TRUE, exp_word);
diff --git a/src/winio.c b/src/winio.c
@@ -2998,7 +2998,7 @@ void edit_refresh(void)
#endif
/* Make sure the current line is on the screen. */
- edit_update(ISSET(SMOOTH_SCROLL) ? NONE : CENTER);
+ edit_update((ISSET(SMOOTH_SCROLL) && !focusing) ? NONE : CENTER);
}
foo = openfile->edittop;