git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] grep: -W: skip trailing empty lines at EOF, too
@ 2024-07-30 14:18 René Scharfe
  2024-07-30 16:58 ` Junio C Hamano
  0 siblings, 1 reply; 2+ messages in thread
From: René Scharfe @ 2024-07-30 14:18 UTC (permalink / raw)
  To: Git List

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 <l.s.r@web.de>
---
 grep.c          | 3 ++-
 t/t7810-grep.sh | 1 +
 2 files changed, 3 insertions(+), 1 deletion(-)

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 '
--
2.46.0

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] grep: -W: skip trailing empty lines at EOF, too
  2024-07-30 14:18 [PATCH] grep: -W: skip trailing empty lines at EOF, too René Scharfe
@ 2024-07-30 16:58 ` Junio C Hamano
  0 siblings, 0 replies; 2+ messages in thread
From: Junio C Hamano @ 2024-07-30 16:58 UTC (permalink / raw)
  To: René Scharfe; +Cc: Git List

René Scharfe <l.s.r@web.de> writes:

> 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.

Nice, and the implementation reflects the above logic.

> 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 <l.s.r@web.de>
> ---
>  grep.c          | 3 ++-
>  t/t7810-grep.sh | 1 +
>  2 files changed, 3 insertions(+), 1 deletion(-)
>
> 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 '
> --
> 2.46.0

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-07-30 16:58 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-30 14:18 [PATCH] grep: -W: skip trailing empty lines at EOF, too René Scharfe
2024-07-30 16:58 ` Junio C Hamano

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).