Messages in this thread | | | Date | Sun, 22 Jul 2007 20:16:23 +0100 | From | Simon Arlott <> | Subject | Re: diffutils: C labels misdetected as functions |
| |
On 22/07/07 19:38, Paul Eggert wrote: > Simon Arlott <simon@fire.lp0.eu> writes: > >> The patch below stops diffutils treating C labels starting in column 1 as function names. > > That patch alone wouldn't suffice, since -p is documented as implying > -F '^[[:alpha:]$_]'. If the behavior changes, we'd also have to > change the documentation to match.
Ok.
> I'm not sure the change is a good idea. It would complicate the > documentation and therefore the user interface, without that much
Complicated documentation means a bug shouldn't be fixed?
> benefit. And it wouldn't suffice in general, since it would still > mishandle labels followed by comments or by white space.
Yes, the regexp needs changing further to ignore comments...
"[[:alpha:]$_][^:]*$" perhaps? Although that ignores functions with comments on the same line containing a :.
> Also, for long C functions some people might rather see a top-level > (unindented) label highlighted than the function name highlighted, so > they might prefer the current behavior.
"-p --show-c-function Show which C function each change is in."
It's not "--show-c-function-or-label".
> 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.
-- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |