From c3fc1b88fea5e4f4aee2e02ee7426180031a0081 Mon Sep 17 00:00:00 2001 From: Martin Nordholts Date: Sat, 19 Dec 2020 10:21:53 +0100 Subject: [PATCH] replace_nonprintable: Keep \n around Since it has a functional role, we can not just replace it, we must keep it around. This also allows us to simplify the code slightly. We must fix this before we fix #1438 since otherwise the \n will be missing with --style=plain, since we will stop adding it if it is missing. --- src/preprocessor.rs | 2 +- src/printer.rs | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/src/preprocessor.rs b/src/preprocessor.rs index eb878890..7001ec88 100644 --- a/src/preprocessor.rs +++ b/src/preprocessor.rs @@ -72,7 +72,7 @@ pub fn replace_nonprintable(input: &[u8], tab_width: usize) -> String { } } // line feed - '\x0A' => output.push('␊'), + '\x0A' => output.push_str("␊\x0A"), // carriage return '\x0D' => output.push('␍'), // null diff --git a/src/printer.rs b/src/printer.rs index ba74872a..b240f83f 100644 --- a/src/printer.rs +++ b/src/printer.rs @@ -91,9 +91,6 @@ impl<'a> Printer for SimplePrinter<'a> { if self.config.show_nonprintable { let line = replace_nonprintable(line_buffer, self.config.tab_width); write!(handle, "{}", line)?; - if line_buffer.last() == Some(&b'\n') { - writeln!(handle)?; - } } else { handle.write_all(line_buffer)? };