Show 30 quoted lines
> In a later patch, I want to propose an option to detect&color
> moved lines in a diff, which cannot be done in a one-pass over
> the diff. Instead we need to go over the whole diff twice,
> because we cannot detect the first line of the two corresponding
> lines (+ and -) that got moved.
>
> So to prepare the diff machinery for two pass algorithms
> (i.e. buffer it all up and then operate on the result),
> move all emissions to places, such that the only emitting
> function is emit_line_0.
>
> This covers diff_flush.
>
> Signed-off-by: Stefan Beller <sbeller@google.com>
> ---
> diff.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/diff.c b/diff.c
> index 07041a35ad..386b28cf47 100644
> --- a/diff.c
> +++ b/diff.c
> @@ -4873,7 +4873,9 @@ void diff_flush(struct diff_options *options)
> term, 1);
> if (options->stat_sep) {
> /* attach patch instead of inline */
> - fputs(options->stat_sep, options->file);
> + emit_line(options, NULL, NULL,
> + options->stat_sep,
> + strlen(options->stat_sep));