[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <7vtzrwqg87.fsf@assigned-by-dhcp.cox.net>
Date: Sun, 22 Jul 2007 14:30:00 -0700
From: Junio C Hamano <gitster@...ox.com>
To: Simon Arlott <simon@...e.lp0.eu>
Cc: Paul Eggert <eggert@...UCLA.EDU>, Matthew Wilcox <matthew@....cx>,
Denis Cheng <crquan@...il.com>,
kernel-janitors@...r.kernel.org, linux-kernel@...r.kernel.org,
git@...r.kernel.org
Subject: Re: diffutils: C labels misdetected as functions
Simon Arlott <simon@...e.lp0.eu> writes:
> On 22/07/07 19:38, Paul Eggert wrote:
>>
>> Anyway, to work around your problem without changing "diff", you can
>> use "diff -u -F '^[[:alpha:]$_](|.*[^:])$'" instead of "diff -u -p".
>
> Perhaps git could do this (or similar) as a workaround? (Cc:ed)
>
>> Or you can put a single space before the labels in question: they'll
>> still stand out plenty.
>
> The code should definitely not need to be modified to work around a
> diff bug.
I think the word "bug" is just about documentation. Promising
"show C function" and including labels and/or not showing all
functions would be a bug, but given that diff is about showing
textual differences between two text files with arbitrary kind
of contents, I do not think it is reasonable to take that "show
C function" promise too literally.
To avoid this, the description of the feature could be reworded
to "shows lines that match pattern '^[[:alpha:]$_]' on context
lines, intent of the option being that the pattern tends to
match the beginning of function in C language and help the
reader to locate the context more easily, with a caveat that the
pattern matching is not meant to capture all functions nor only
functions --- there will be false matches."
But that would be too long. And as Paul showed, you can narrow
or widen the set of lines that are shown with the -F option. I
do not think this deserves to be called a "bug".
You can define your own customized "function name" pattern in
your .git/config (or $HOME/.gitconfig) file to be used by the
git-diff family with recent enough git via the attributes
mechanism, but I do not think we should change the default,
unless GNU diff changes its default. Personally I'd rather not
see it change, though.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists