From: René Scharfe Date: Tue, 06 Dec 2011 21:07:03 GMT Subject: Re: [PATCH] userdiff: allow * between cpp funcname words Message-ID: <4EDE83F7.6030708@lsrfire.ath.cx> In-Reply-To: <4EDE8086.9080303@kdbg.org> Am 06.12.2011 21:52, schrieb Johannes Sixt: > Am 06.12.2011 21:19, schrieb Jeff King: >> On Tue, Dec 06, 2011 at 09:17:56PM +0100, Thomas Rast wrote: >> >>>> 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::t& Baz::operator<<( >>> >>> which I would call ludicrous, but it's valid C++. >> >> Ick, yeah. Maybe it is worth doing the "*" thing for now, and then >> worrying about advanced C++ stuff on top as another patch. AFAICT, your >> original patch is a strict improvement. > > Excuse me, where's the problem? The above example shows this > > @@ -105,8 +105,8 @@ char *url_decode(const char *url) > struct strbuf out = STRBUF_INIT; > - const char *slash = strchr(url, '/'); > + const char *colon = strchr(url, ':'); > ... > > with current 4cb5d10b. This looks quite correct, no? That's with the default heuristic; try something like this first to turn on userdiff: $ echo url.c diff=cpp >>.gitattributes René