in do_replace_loop(), when moving to the next match, update the screen

using edit_refresh() instead of edit_redraw(), as the latter won't work
properly when we've replaced one or more instances of a string in copy
and haven't yet updated current->data to match copy


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@2599 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
master
David Lawrence Ramsey 2005-06-06 03:46:32 +00:00
parent d29b9d5bd6
commit c4dbdd55f5
2 changed files with 8 additions and 5 deletions

View File

@ -134,6 +134,12 @@ CVS code -
replace_line()
- Make new_line_size and search_match_count size_t's, for
consistency. (DLR)
do_replace_loop()
- When moving to the next match, update the screen using
edit_refresh() instead of edit_redraw(), as the latter won't
work properly when we've replaced one or more instances of a
string in copy and haven't yet updated current->data to match
copy. (DLR)
- utils.c:
num_of_digits()
- Use a size_t instead of an int, and rename to digits(). (DLR)

View File

@ -681,7 +681,6 @@ ssize_t do_replace_loop(const char *needle, const filestruct
{
ssize_t numreplaced = -1;
size_t match_len;
size_t pww_save = placewewant;
bool replaceall = FALSE;
#ifdef HAVE_REGEX_H
/* The starting-line match and bol/eol regex flags. */
@ -743,10 +742,8 @@ ssize_t do_replace_loop(const char *needle, const filestruct
}
#endif
if (!replaceall) {
edit_redraw(real_current, pww_save);
pww_save = placewewant;
}
if (!replaceall)
edit_refresh();
/* Record for the return value that we found the search
* string. */