From: René Scharfe Date: Tue, 30 Jul 2024 14:18:54 +0000 (+0200) Subject: grep: -W: skip trailing empty lines at EOF, too X-Git-Tag: v2.47.0-rc0~158^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8e5dd94e68e37d2d4b67e34db00b9e9790a2325b;p=thirdparty%2Fgit.git grep: -W: skip trailing empty lines at EOF, too 4aa2c4753d (grep: -W: don't extend context to trailing empty lines, 2016-05-28) stopped showing empty lines at the end of function context when using -W. Do the same for trailing empty lines at the end of files, for consistency -- it doesn't matter whether a function section is ended by the next function or the end of the file. Test it by adding a trailing empty line to the file used by the test "grep -W" and leave its expected output the same. Signed-off-by: René Scharfe Signed-off-by: Junio C Hamano --- diff --git a/grep.c b/grep.c index ac34bfeafb..2f8b9553df 100644 --- a/grep.c +++ b/grep.c @@ -1735,7 +1735,8 @@ static int grep_source_1(struct grep_opt *opt, struct grep_source *gs, int colle peek_eol = end_of_line(peek_bol, &peek_left); } - if (match_funcname(opt, gs, peek_bol, peek_eol)) + if (peek_bol >= gs->buf + gs->size || + match_funcname(opt, gs, peek_bol, peek_eol)) show_function = 0; } if (show_function || diff --git a/t/t7810-grep.sh b/t/t7810-grep.sh index 875dcfd98f..af2cf2f78a 100755 --- a/t/t7810-grep.sh +++ b/t/t7810-grep.sh @@ -31,6 +31,7 @@ int main(int argc, const char **argv) return 0; /* char ?? */ } + EOF test_expect_success setup '