From a075c932f1e88b3a4064102cfeb01b17882f2c68 Mon Sep 17 00:00:00 2001 From: Christian Duerr Date: Thu, 28 Nov 2019 08:08:04 +0100 Subject: Fix `OSC 52` with empty clipboard param This fixes the behavior of the clipboard escape (`OSC 52`) when the second parameter is not specified. If it is missing, the parameter is now assumed to be `c`, defaulting to the default clipboard. This has been fixed both for writing and reading. Fixes #3037. --- alacritty_terminal/src/ansi.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'alacritty_terminal/src') diff --git a/alacritty_terminal/src/ansi.rs b/alacritty_terminal/src/ansi.rs index c2388540..f41c3951 100644 --- a/alacritty_terminal/src/ansi.rs +++ b/alacritty_terminal/src/ansi.rs @@ -849,13 +849,14 @@ where // Set clipboard b"52" => { - if params.len() < 3 || params[1].is_empty() { + if params.len() < 3 { return unhandled(params); } + let clipboard = params[1].get(0).unwrap_or(&b'c'); match params[2] { - b"?" => self.handler.write_clipboard(params[1][0], writer), - base64 => self.handler.set_clipboard(params[1][0], base64), + b"?" => self.handler.write_clipboard(*clipboard, writer), + base64 => self.handler.set_clipboard(*clipboard, base64), } }, -- cgit