in do_replace_loop(), check for more than one wrap at the right place
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@2007 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
Этот коммит содержится в:
родитель
2eb745939e
Коммит
484352241e
24
src/search.c
24
src/search.c
@ -728,24 +728,22 @@ ssize_t do_replace_loop(const char *needle, filestruct *real_current,
|
||||
#endif
|
||||
|
||||
#ifndef NANO_SMALL
|
||||
/* If we've found a match outside the marked text, skip over it
|
||||
* and search for another one. */
|
||||
/* Keep track of how many times the search has wrapped. If it's
|
||||
* wrapped more than once, it means that the only matches left
|
||||
* are those outside the marked text, so we're done. */
|
||||
if (wrapped)
|
||||
wraps++;
|
||||
if (wraps > 1)
|
||||
break;
|
||||
|
||||
/* Otherwise, if we've found a match outside the marked text,
|
||||
* skip over it and search for another one. */
|
||||
if (old_mark_set) {
|
||||
if (current->lineno < top->lineno || current->lineno >
|
||||
bot->lineno || (current == top && current_x < top_x) ||
|
||||
(current == bot && (current_x > bot_x || current_x +
|
||||
match_len > bot_x))) {
|
||||
/* Keep track of how many times the search has wrapped.
|
||||
* If it's wrapped more than once, it means that the
|
||||
* only matches left are those outside the marked text,
|
||||
* so we're done. */
|
||||
if (wrapped) {
|
||||
wraps++;
|
||||
if (wraps > 1)
|
||||
break;
|
||||
}
|
||||
match_len > bot_x)))
|
||||
continue;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user