[PATCH] Cygwin: Fix typo in new-features.xml

2021-12-02 Thread Takashi Yano
---
 winsup/doc/new-features.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/winsup/doc/new-features.xml b/winsup/doc/new-features.xml
index e05ffe38e..4fdfafc24 100644
--- a/winsup/doc/new-features.xml
+++ b/winsup/doc/new-features.xml
@@ -4,7 +4,7 @@
 
 What's new and what changed in Cygwin
 
-What's new and what changed in 3.3
+What's new and what changed in 3.4
 
 
 
-- 
2.33.0



[PATCH] Cygwin: console: Fix OSC sequence handling.

2021-12-02 Thread Takashi Yano
- Currently, some OSC escape sequences, such as 'OSC 110 BEL', are
  not handled correctly. This patch fixes the issue.
---
 winsup/cygwin/fhandler_console.cc | 31 ---
 1 file changed, 24 insertions(+), 7 deletions(-)

diff --git a/winsup/cygwin/fhandler_console.cc 
b/winsup/cygwin/fhandler_console.cc
index d9ed71af8..4c98b5355 100644
--- a/winsup/cygwin/fhandler_console.cc
+++ b/winsup/cygwin/fhandler_console.cc
@@ -3308,13 +3308,30 @@ fhandler_console::write (const void *vsrc, size_t len)
case gotrsquare:
  if (isdigit (*src))
con.rarg = con.rarg * 10 + (*src - '0');
- else if (*src == ';' && (con.rarg == 2 || con.rarg == 0))
-   con.state = gettitle;
- else if (*src == ';' && (con.rarg == 4 || con.rarg == 104
-  || (con.rarg >= 10 && con.rarg <= 19)))
-   con.state = eatpalette;
- else
-   con.state = eattitle;
+ else if (*src == ';')
+   {
+ if (con.rarg == 0 || con.rarg == 2)
+   con.state = gettitle;
+ else if ((con.rarg >= 4 && con.rarg <= 6)
+  || (con.rarg >=10 && con.rarg <= 19)
+  || (con.rarg >=104 && con.rarg <= 106)
+  || (con.rarg >=110 && con.rarg <= 119))
+   con.state = eatpalette;
+ else
+   con.state = eattitle;
+   }
+ else if (*src == '\033')
+   con.state = endpalette;
+ else if (*src == '\007')
+   {
+ wpbuf.put (*src);
+ if (wincap.has_con_24bit_colors () && !con_is_legacy)
+   wpbuf.send (get_output_handle ());
+ wpbuf.empty ();
+ con.state = normal;
+ src++;
+ break;
+   }
  wpbuf.put (*src);
  src++;
  break;
-- 
2.33.0