less: fix case when regex search finds nothing

This commit is contained in:
Denis Vlasenko 2007-05-09 18:32:54 +00:00
parent bf678d5423
commit 8465a99ce7

View File

@ -788,19 +788,25 @@ static void normalize_match_pos(int match)
static void goto_match(int match) static void goto_match(int match)
{ {
int sv;
if (!pattern_valid) if (!pattern_valid)
return; return;
if (match < 0) if (match < 0)
match = 0; match = 0;
sv = cur_fline;
/* Try to find next match if eof isn't reached yet */ /* Try to find next match if eof isn't reached yet */
if (match >= num_matches && eof_error > 0) { if (match >= num_matches && eof_error > 0) {
cur_fline = MAXLINES; /* look as far as needed */ cur_fline = MAXLINES; /* look as far as needed */
read_lines(); read_lines();
cap_cur_fline(cur_fline);
} }
if (num_matches) { if (num_matches) {
cap_cur_fline(cur_fline);
normalize_match_pos(match); normalize_match_pos(match);
buffer_line(match_lines[match_pos]); buffer_line(match_lines[match_pos]);
} else {
cur_fline = sv;
print_statusline("No matches found");
} }
} }