[newlib-cygwin] Cygwin: pty: Revise the workaround for rlwrap.

Corinna Vinschen corinna@sourceware.org
Wed Dec 16 09:39:26 GMT 2020


https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=4e16b0330a04f7f6503957a9aed344cb716605f9

commit 4e16b0330a04f7f6503957a9aed344cb716605f9
Author: Takashi Yano via Cygwin-patches <cygwin-patches@cygwin.com>
Date:   Wed Dec 16 18:10:58 2020 +0900

    Cygwin: pty: Revise the workaround for rlwrap.
    
    - Previous workaround has a problem that screen is distorted if up
      arrow key is pressed at the first line after running "rlwrap cmd".
      This patch fixes the issue.

Diff:
---
 winsup/cygwin/fhandler_tty.cc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/winsup/cygwin/fhandler_tty.cc b/winsup/cygwin/fhandler_tty.cc
index 77d9d9b47..77f7bfe43 100644
--- a/winsup/cygwin/fhandler_tty.cc
+++ b/winsup/cygwin/fhandler_tty.cc
@@ -1111,8 +1111,8 @@ fhandler_pty_slave::tcgetattr (struct termios *t)
   *t = get_ttyp ()->ti;
   /* Workaround for rlwrap */
   if (get_ttyp ()->pcon_start)
-    t->c_lflag &= ~ICANON;
-  else if (get_ttyp ()->h_pseudo_console)
+    t->c_lflag &= ~(ICANON | ECHO);
+  if (get_ttyp ()->h_pseudo_console)
     t->c_iflag &= ~ICRNL;
   return 0;
 }


More information about the Cygwin-cvs mailing list