replacing: don't go outside of the selected region
When the tail of a match falls outside of the marked region, it is in fact not a match and should not be replaced. This fixes https://savannah.gnu.org/bugs/?50136.
Этот коммит содержится в:
родитель
3534d8ff25
Коммит
4ed3591703
@ -643,7 +643,7 @@ ssize_t do_replace_loop(const char *needle, bool whole_word_only,
|
||||
* stop the fanfare. */
|
||||
if (openfile->current->lineno > bot->lineno ||
|
||||
openfile->current->lineno < top->lineno ||
|
||||
(openfile->current == bot && openfile->current_x > bot_x) ||
|
||||
(openfile->current == bot && openfile->current_x + match_len > bot_x) ||
|
||||
(openfile->current == top && openfile->current_x < top_x))
|
||||
break;
|
||||
}
|
||||
|
Загрузка…
Ссылка в новой задаче
Block a user