From c43407c81219f31eada4a2e009b543ba0abd9de1 Mon Sep 17 00:00:00 2001 From: aaryan dogra Date: Wed, 13 May 2026 19:02:16 +0000 Subject: [PATCH 1/2] fix-one --- src/uu/comm/src/comm.rs | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/uu/comm/src/comm.rs b/src/uu/comm/src/comm.rs index 395c561e10e..f6b6745554c 100644 --- a/src/uu/comm/src/comm.rs +++ b/src/uu/comm/src/comm.rs @@ -113,12 +113,18 @@ impl OrderChecker { } let is_ordered = *current_line >= *self.last_line; - if !is_ordered && !self.has_error { + // Print file-level warnings only if --check-order was explicitly passed + // (in default mode, these are printed later in the final error reporting) + if !is_ordered && !self.has_error && self.check_order { let _ = writeln!( stderr(), "{}", translate!("comm-error-file-not-sorted", "file_num" => self.file_num.as_str()) ); + } + + // Always mark that we have an error, regardless of check_order flag + if !is_ordered && !self.has_error { self.has_error = true; } @@ -315,8 +321,15 @@ fn comm( .map_err_context(|| translate!("comm-error-write"))?; if should_check_order && (checker1.has_error || checker2.has_error) { - // Print the input error message once at the end - if input_error { + // In default mode, print file-level errors and general message + // In explicit check-order mode, file-level errors were already printed by verify_order + if !check_order { + if checker1.has_error { + let _ = writeln!(stderr(), "comm: file 1 is not in sorted order"); + } + if checker2.has_error { + let _ = writeln!(stderr(), "comm: file 2 is not in sorted order"); + } let _ = writeln!(stderr(), "{}", translate!("comm-error-input-not-sorted")); } Err(USimpleError::new(1, "")) From 99490dc94f343fb4b040075de5b31bdc6a269464 Mon Sep 17 00:00:00 2001 From: aaryan dogra Date: Wed, 13 May 2026 20:42:19 +0000 Subject: [PATCH 2/2] run-check