https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=8199b0cc38de3553d2e86f170d7da0b64405d10c
commit 8199b0cc38de3553d2e86f170d7da0b64405d10c Author: Takashi Yano via Cygwin-patches <[email protected]> Date: Mon Dec 14 17:26:47 2020 +0900 Cygwin: pty: Add a workaround for rlwrap. - If rlwrap is used with non-cygwin apps, it fails to setup pseudo console. This patch adds a workaround for this issue. Diff: --- winsup/cygwin/fhandler_tty.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/winsup/cygwin/fhandler_tty.cc b/winsup/cygwin/fhandler_tty.cc index 04a9a2bf5..5f38ca8d3 100644 --- a/winsup/cygwin/fhandler_tty.cc +++ b/winsup/cygwin/fhandler_tty.cc @@ -1109,6 +1109,11 @@ fhandler_pty_slave::tcgetattr (struct termios *t) { reset_switch_to_pcon (); *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_iflag &= ~ICRNL; return 0; }
