Re: [PATCH 2/3] xdiff: -W: include immediately preceding non-empty lines in context
- From
René Scharfe <l.s.r@web.de>
- Date
- Jan 13, 2017, 18:19 UTC
- Message-ID
- <e55dc4dd-768b-8c9b-e3b2-e850d5d521f5@web.de>
- In-Reply-To
- <1484324112-17773-2-git-send-email-vegard.nossum@oracle.com>
Am 13.01.2017 um 17:15 schrieb Vegard Nossum:
Show 15 quoted lines
> When using -W to include the whole function in the diff context, you
> are typically doing this to be able to review the change in its entirety
> within the context of the function. It is therefore almost always
> desirable to include any comments that immediately precede the function.
>
> This also the fixes the case for C where the declaration is split across
> multiple lines (where the first line of the declaration would not be
> included in the output), e.g.:
>
> void
> dummy(void)
> {
> ...
> }
>That's true, but I'm not sure "non-empty line before function line" is good enough a definition for desirable lines. It wouldn't work for people who don't believe in empty lines. Or for those that put a blank line between comment and function. (I have an opinion on such habits, but git diff should probably stay neutral.) And that's just for C code; I have no idea how this heuristic would hold up for other file types like HTML.
We can identify function lines with arbitrary precision (with a xfuncname regex, if needed), but there is no accurate way to classify lines as comments, or as the end of functions. Adding optional regexes for single- and multi-line comments would help, at least for C.
René