less: fix somewhat elusive case when less gets stuck in search mode
function old new delta read_lines 719 730 +11 goto_match 141 116 -25
This commit is contained in:
parent
ffa4499c9f
commit
24f824edb3
@ -384,6 +384,10 @@ static void read_lines(void)
|
||||
linepos = 0;
|
||||
} /* end of "read lines until we reach cur_fline" loop */
|
||||
fill_match_lines(old_max_fline);
|
||||
#if ENABLE_FEATURE_LESS_REGEXP
|
||||
/* prevent us from being stuck in search for a match */
|
||||
wanted_match = -1;
|
||||
#endif
|
||||
#undef readbuf
|
||||
}
|
||||
|
||||
@ -904,13 +908,8 @@ static void goto_match(int match)
|
||||
match = 0;
|
||||
/* Try to find next match if eof isn't reached yet */
|
||||
if (match >= num_matches && eof_error > 0) {
|
||||
wanted_match = match;
|
||||
wanted_match = match; /* "I want to read until I see N'th match" */
|
||||
read_lines();
|
||||
if (wanted_match >= num_matches) {
|
||||
/* We still failed to find it. Prevent future
|
||||
* read_lines() from trying... */
|
||||
wanted_match = num_matches - 1;
|
||||
}
|
||||
}
|
||||
if (num_matches) {
|
||||
normalize_match_pos(match);
|
||||
|
Loading…
Reference in New Issue
Block a user