diff --git a/docs/changelog.md b/docs/changelog.md index da92e3125..732d5c42b 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -23,6 +23,9 @@ As features stabilize some brief notes about them will accumulate here. #### Changed * Window title reporting escape sequences are now disabled by default. [See here for more details](https://marc.info/?l=bugtraq&m=104612710031920&w=2) +* Withdraw DEC private SGR escapes that affect superscript and + subscript due to xterm/vim conflict + [mintty/#1189](https://github.com/mintty/mintty/issues/1189) ### 20221119-145034-49b9839f diff --git a/termwiz/src/escape/csi.rs b/termwiz/src/escape/csi.rs index 482f75bcd..7573a5ee8 100644 --- a/termwiz/src/escape/csi.rs +++ b/termwiz/src/escape/csi.rs @@ -2460,12 +2460,6 @@ impl<'a> CSIParser<'a> { Ok(self.advance_by(1, params, $t)) }; } - // Consume two parameters and return the parsed result - macro_rules! two { - ($t:expr) => { - Ok(self.advance_by(2, params, $t)) - }; - } match ¶ms[0] { CsiParam::P(b';') => { @@ -2484,7 +2478,16 @@ impl<'a> CSIParser<'a> { // Level 2 Programming Reference Manual" // on page 7-78. // + /* Withdrawn because xterm introduced a conflict: + * + * CsiParam::P(b'?') if params.len() > 1 => match ¶ms[1] { + // Consume two parameters and return the parsed result + macro_rules! two { + ($t:expr) => { + Ok(self.advance_by(2, params, $t)) + }; + } CsiParam::Integer(i) => match FromPrimitive::from_i64(*i) { None => Err(()), Some(code) => match code { @@ -2499,6 +2502,7 @@ impl<'a> CSIParser<'a> { }, _ => Err(()), }, + */ CsiParam::P(_) => Err(()), CsiParam::Integer(i) => match FromPrimitive::from_i64(*i) { None => Err(()), diff --git a/termwiz/src/escape/parser/mod.rs b/termwiz/src/escape/parser/mod.rs index 693d368f1..22047668d 100644 --- a/termwiz/src/escape/parser/mod.rs +++ b/termwiz/src/escape/parser/mod.rs @@ -338,7 +338,7 @@ impl<'a, F: FnMut(Action)> VTActor for Performer<'a, F> { #[cfg(test)] mod test { use super::*; - use crate::cell::{Intensity, Underline, VerticalAlign}; + use crate::cell::{Intensity, Underline}; use crate::color::ColorSpec; use crate::escape::csi::{ CharacterPath, DecPrivateMode, DecPrivateModeCode, Device, Mode, Sgr, Window, XtSmGraphics, @@ -942,8 +942,12 @@ mod test { ); } + /* Withdrawn because xterm introduced a conflict: + * + * #[test] fn dec_private_sgr() { + use crate::cell::{VerticalAlign}; assert_eq!( parse_as("\x1b[?0m", "\x1b[0m"), vec![Action::CSI(CSI::Sgr(Sgr::Reset))] @@ -975,6 +979,7 @@ mod test { vec![Action::CSI(CSI::Sgr(Sgr::Overline(false)))] ); } + */ #[test] fn decset() {