From ec1087d56ff9d879256fa55c8a255e888c7a5d5e Mon Sep 17 00:00:00 2001 From: "easyaspi314 (Devin)" Date: Tue, 12 Jun 2018 23:49:51 -0400 Subject: [PATCH] Replace CRLF with CR as well. This should replace both \r\n and \n with \r now. "\r?\n" matches 0 or 1 \r and one \n, which should capture both escape sequences. --- .../src/main/java/com/termux/terminal/TerminalEmulator.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/terminal-emulator/src/main/java/com/termux/terminal/TerminalEmulator.java b/terminal-emulator/src/main/java/com/termux/terminal/TerminalEmulator.java index c022c38e..6827f20c 100644 --- a/terminal-emulator/src/main/java/com/termux/terminal/TerminalEmulator.java +++ b/terminal-emulator/src/main/java/com/termux/terminal/TerminalEmulator.java @@ -2338,8 +2338,8 @@ public final class TerminalEmulator { public void paste(String text) { // First: Always remove escape key and C1 control characters [0x80,0x9F]: text = text.replaceAll("(\u001B|[\u0080-\u009F])", ""); - // Second: Replace all newlines (\n) with carriage returns (\r). - text = text.replace('\n', '\r'); + // Second: Replace all newlines (\n) or CRLF (\r\n) with carriage returns (\r). + text = text.replaceAll("\r?\n", "\r"); // Then: Implement bracketed paste mode if enabled: boolean bracketed = isDecsetInternalBitSet(DECSET_BIT_BRACKETED_PASTE_MODE);