From 6eb6c127066503f9c59eb9e517562a0330c09775 Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Sun, 6 Apr 2025 09:42:54 -0700 Subject: [PATCH] Fix rendering bug. --- rust/pspp/src/output/pivot/output.rs | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/rust/pspp/src/output/pivot/output.rs b/rust/pspp/src/output/pivot/output.rs index 3679e6be61..0f8d758479 100644 --- a/rust/pspp/src/output/pivot/output.rs +++ b/rust/pspp/src/output/pivot/output.rs @@ -460,14 +460,16 @@ fn compose_headings( .map(|c| (x..x + 1, c)) }); - // Merge adjacent identical categories. - let categories = categories.coalesce(|(a_r, a), (b_r, b)| { - if a.ptr_eq(&b) { - Ok((a_r.start..b_r.end, a)) - } else { - Err(((a_r, a), (b_r, b))) - } - }); + // Merge adjacent identical categories (but don't merge across a vertical rule). + let categories = categories + .coalesce(|(a_r, a), (b_r, b)| { + if !vrules[b_r.start] && a.ptr_eq(&b) { + Ok((a_r.start..b_r.end, a)) + } else { + Err(((a_r, a), (b_r, b))) + } + }) + .collect::>(); for (Range { start: x1, end: x2 }, c) in categories { let y1 = top_row + row_ofs; -- 2.30.2