提交 540d3eb0 编写于 作者: V Vegard Nossum 提交者: Junio C Hamano

xdiff -W: relax end-of-file function detection

When adding a new function to the end of a file, it's enough to know
that 1) the addition is at the end of the file; and 2) there is a
function _somewhere_ in there.

If we had simply been changing the end of an existing function, then we
would also be deleting something from the old version.

This fixes the case where we add e.g.

	// Begin of dummy
	static int dummy(void)
	{
	}

to the end of the file.
Signed-off-by: NVegard Nossum <vegard.nossum@oracle.com>
Acked-by: NRené Scharfe <l.s.r@web.de>
Signed-off-by: NJunio C Hamano <gitster@pobox.com>
上级 d7dffce1
......@@ -183,16 +183,14 @@ int xdl_emit_diff(xdfenv_t *xe, xdchange_t *xscr, xdemitcb_t *ecb,
/*
* We don't need additional context if
* a whole function was added, possibly
* starting with empty lines.
* a whole function was added.
*/
while (i2 < xe->xdf2.nrec &&
is_empty_rec(&xe->xdf2, i2))
while (i2 < xe->xdf2.nrec) {
if (match_func_rec(&xe->xdf2, xecfg, i2,
dummy, sizeof(dummy)) >= 0)
goto post_context_calculation;
i2++;
if (i2 < xe->xdf2.nrec &&
match_func_rec(&xe->xdf2, xecfg, i2,
dummy, sizeof(dummy)) >= 0)
goto post_context_calculation;
}
/*
* Otherwise get more context from the
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册