From 28ba67fe18d656960792ecd26aa96971c1554045 Mon Sep 17 00:00:00 2001 From: Haydon Ryan Date: Fri, 28 Aug 2026 15:19:56 -0500 Subject: [PATCH 1/3] uucore: write each diagnostic in a single stderr call --- src/uucore/src/lib/macros.rs | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/src/uucore/src/lib/macros.rs b/src/uucore/src/lib/macros.rs index 89030028112..6ff251f4745 100644 --- a/src/uucore/src/lib/macros.rs +++ b/src/uucore/src/lib/macros.rs @@ -154,9 +154,12 @@ macro_rules! show_if_err( macro_rules! show_error( ($($args:tt)+) => ({ use std::io::Write as _; - let mut error = std::io::stderr().lock(); - let _ = write!(error, "{}: ", $crate::util_name()); - let _ = writeln!(error, $($args)+); + let _ = writeln!( + std::io::stderr().lock(), + "{}: {}", + $crate::util_name(), + format_args!($($args)+) + ); }) ); @@ -179,9 +182,12 @@ macro_rules! show_error( macro_rules! show_warning( ($($args:tt)+) => ({ use std::io::Write as _; - let mut error = std::io::stderr().lock(); - let _ = write!(error, "{}: warning: ", $crate::util_name()); - let _ = writeln!(error, $($args)+); + let _ = writeln!( + std::io::stderr().lock(), + "{}: warning: {}", + $crate::util_name(), + format_args!($($args)+) + ); }) ); @@ -190,8 +196,11 @@ macro_rules! show_warning( macro_rules! show_warning_caps( ($($args:tt)+) => ({ use std::io::Write as _; - let mut error = std::io::stderr().lock(); - let _ = write!(error, "{}: WARNING: ", $crate::util_name()); - let _ = writeln!(error, $($args)+); + let _ = writeln!( + std::io::stderr().lock(), + "{}: WARNING: {}", + $crate::util_name(), + format_args!($($args)+) + ); }) ); From a0172268e3175581d247435d528aa71d3aebdfeb Mon Sep 17 00:00:00 2001 From: Haydon Ryan Date: Fri, 28 Aug 2026 15:57:01 -0500 Subject: [PATCH 2/3] uucore: drop redundant stderr lock in diagnostics macros --- src/uucore/src/lib/macros.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/uucore/src/lib/macros.rs b/src/uucore/src/lib/macros.rs index 6ff251f4745..db7cfbbb8ec 100644 --- a/src/uucore/src/lib/macros.rs +++ b/src/uucore/src/lib/macros.rs @@ -155,7 +155,7 @@ macro_rules! show_error( ($($args:tt)+) => ({ use std::io::Write as _; let _ = writeln!( - std::io::stderr().lock(), + std::io::stderr(), "{}: {}", $crate::util_name(), format_args!($($args)+) @@ -183,7 +183,7 @@ macro_rules! show_warning( ($($args:tt)+) => ({ use std::io::Write as _; let _ = writeln!( - std::io::stderr().lock(), + std::io::stderr(), "{}: warning: {}", $crate::util_name(), format_args!($($args)+) @@ -197,7 +197,7 @@ macro_rules! show_warning_caps( ($($args:tt)+) => ({ use std::io::Write as _; let _ = writeln!( - std::io::stderr().lock(), + std::io::stderr(), "{}: WARNING: {}", $crate::util_name(), format_args!($($args)+) From 98bbd95a3819bb129e4811e23d2d2cca01c5c8a6 Mon Sep 17 00:00:00 2001 From: Haydon Ryan Date: Fri, 28 Aug 2026 17:19:06 -0500 Subject: [PATCH 3/3] uucore: drop redundant stderr lock in show! macro --- src/uucore/src/lib/macros.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/uucore/src/lib/macros.rs b/src/uucore/src/lib/macros.rs index db7cfbbb8ec..857e843546b 100644 --- a/src/uucore/src/lib/macros.rs +++ b/src/uucore/src/lib/macros.rs @@ -93,7 +93,7 @@ macro_rules! show( let e = $err; $crate::error::set_exit_code(e.code()); - let _ = writeln!(std::io::stderr().lock(), "{}: {e}", $crate::util_name()); + let _ = writeln!(std::io::stderr(), "{}: {e}", $crate::util_name()); }) );