Re: [PATCH] userdiff: allow * between cpp funcname words
From: Thomas Rast <hidden>
Date: 2016-06-15 22:52:34
Jeff King wrote:
On Tue, Dec 06, 2011 at 05:35:08PM +0100, Thomas Rast wrote:quoted
The cpp pattern, used for C and C++, would not match the start of a declaration such as static char *prepare_index(int argc, because it did not allow for * anywhere between the various words that constitute the modifiers, type and function name. Fix it. Signed-off-by: Thomas Rast <redacted> --- This is a really sneaky one-character bug that I cannot believe went unnoticed for so long, seeing as there are plenty of instances within git itself where it matters.Looks reasonable to me. You can see the difference, for instance, with: git show -U1 3c73a1d (The -U1 is because of the annoying "we will start looking for the header at the top of context, not the top of changes" behavior I mentioned last week).
Actually (sadly) I'll have to revise it. It doesn't match much of C++
either, and I haven't yet come up with a reasonable regex that
matches, say,
foo::Bar<int>::t& Baz::operator<<(
which I would call ludicrous, but it's valid C++.
--
Thomas Rast
trast@{inf,student}.ethz.ch