From: Oleg Nesterov <oleg@redhat.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>,
"Calvin Wan" <calvinwan@google.com>,
"Carlo Marcelo Arenas Belón" <carenas@gmail.com>,
"Elijah Newren" <newren@gmail.com>, "Jeff King" <peff@peff.net>,
"Linus Torvalds" <torvalds@linux-foundation.org>,
"Mathias Krause" <minipli@grsecurity.net>,
"René Scharfe" <l.s.r@web.de>, "Taylor Blau" <me@ttaylorr.com>,
git@vger.kernel.org, "Alexey Gladkov" <legion@kernel.org>
Subject: Re: [PATCH 1/1] git-grep: improve the --show-function behaviour
Date: Tue, 12 Sep 2023 15:04:29 +0200 [thread overview]
Message-ID: <20230912130429.GA9982@redhat.com> (raw)
In-Reply-To: <20230911231756.GA2840@redhat.com>
René, Junio,
I don't like the fact we can't understand each other ;) Could you
please explain why do you think this patch should update the docs?
Please forget about my patch for the moment. Lets start from the very
beginning:
-p::
--show-function::
Show the preceding line that contains the function name of
the match, unless the matching line is a function name itself.
and in my opinion, it is the current behaviour that doesn't match the
documentation.
-------------------------------------------------------------------------
$ cat TEST1.c
void func1()
{
}
void func2()
{
}
$ git grep --untracked -pn func2 TEST1.c
TEST1.c=1=void func1()
TEST1.c:4:void func2()
in this case the matching line is "void func2()" and it is also a function
name itself, in this case git-grep should not show "=void func1()" which is
"the preceding line that contains the function name of the match.
But it does. So perhaps git-grep needs another change, something like
if (match_funcname(opt, gs, bol, end_of_line(...)))
return;
at the start of show_funcname_line(), but my patch does not change this
behaviour.
--------------------------------------------------------------------------
$ cat TEST2.c
void func(xxx)
{
use(xxx);
}
$ git grep --untracked -pn xxx TEST2.c
TEST2.c:1:void func(xxx)
TEST2.c:3: use(xxx)
the 2nd match is use(xxx) and it is not a function name itself, in this
case git-grep should "Show the preceding line that contains the function
name of the match.
But it doesn't. To me, this behaviour looks as
Show the preceding line that contains the function name of
the match, unless the _PREVIOUS_ matching line is a function
name itself.
Now, with my patch we have
$ ./git grep --untracked -pn xxx TEST2.c
TEST2.c:1:void func(xxx)
TEST2.c=1=void func(xxx)
TEST2.c:3: use(xxx);
and unless I am totatlly confused this does match the documentation.
Oleg.
next prev parent reply other threads:[~2023-09-12 13:08 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-11 12:11 [PATCH 0/1] git-grep: improve the --show-function behaviour Oleg Nesterov
2023-09-11 12:12 ` [PATCH 1/1] " Oleg Nesterov
2023-09-11 20:11 ` René Scharfe
2023-09-11 21:54 ` Oleg Nesterov
2023-09-11 22:34 ` Junio C Hamano
2023-09-11 23:17 ` Oleg Nesterov
2023-09-12 13:04 ` Oleg Nesterov [this message]
2023-09-12 13:51 ` Oleg Nesterov
2023-09-12 18:07 ` René Scharfe
2023-09-13 0:31 ` Junio C Hamano
2023-09-13 9:46 ` Oleg Nesterov
2023-09-14 19:34 ` René Scharfe
2023-09-17 16:44 ` Oleg Nesterov
2023-09-14 19:34 ` René Scharfe
2023-09-13 10:15 ` Oleg Nesterov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230912130429.GA9982@redhat.com \
--to=oleg@redhat.com \
--cc=avarab@gmail.com \
--cc=calvinwan@google.com \
--cc=carenas@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=l.s.r@web.de \
--cc=legion@kernel.org \
--cc=me@ttaylorr.com \
--cc=minipli@grsecurity.net \
--cc=newren@gmail.com \
--cc=peff@peff.net \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).