[PATCH] Cygwin: pty: Revise the workaround for rlwrap.

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

[PATCH] Cygwin: pty: Revise the workaround for rlwrap.

cygwin-patches mailing list
- 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.
---
 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;
 }
--
2.29.2

Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] Cygwin: pty: Revise the workaround for rlwrap.

cygwin-patches mailing list
On Dec 16 18:10, Takashi Yano via Cygwin-patches wrote:

> - 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.
> ---
>  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;
>  }
> --
> 2.29.2

Pushed.


Thanks,
Corinna