From 59a907117bb9aeb467b392c4fdc36f2f931330c0 Mon Sep 17 00:00:00 2001 From: Thomas Otto Date: Fri, 1 Aug 2025 11:02:55 +0200 Subject: Fix diff output when a diff ends with a mode change Output can be generated directly via Painter::write, or Painter::output_buffer. The latter must be emit()'ed before the former method can be used again, otherwise the order is incorrect. Tests added. Fixes #1504 --- src/handlers/diff_header_diff.rs | 1 + 1 file changed, 1 insertion(+) (limited to 'src/handlers/diff_header_diff.rs') diff --git a/src/handlers/diff_header_diff.rs b/src/handlers/diff_header_diff.rs index e88f89d..70aca72 100644 --- a/src/handlers/diff_header_diff.rs +++ b/src/handlers/diff_header_diff.rs @@ -13,6 +13,7 @@ impl StateMachine<'_> { return Ok(false); } self.painter.paint_buffered_minus_and_plus_lines(); + self.painter.emit()?; self.state = if self.line.starts_with("diff --cc ") || self.line.starts_with("diff --combined ") { // We will determine the number of parents when we see the hunk header. -- cgit v1.2.3