Re: [PATCH] userdiff: allow * between cpp funcname words
- From
Thomas Rast <trast@student.ethz.ch>
- Date
- Dec 6, 2011, 20:17 UTC
- Message-ID
- <201112062117.57690.trast@student.ethz.ch>
- In-Reply-To
- <20111206190217.GD9492@sigill.intra.peff.net>
Jeff King wrote:
Show 24 quoted lines
> On Tue, Dec 06, 2011 at 05:35:08PM +0100, Thomas Rast wrote: > > > 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 <trast@student.ethz.ch> > > --- > > > > 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