From: cgf AT cygnus DOT com (Christopher Faylor) Subject: Re: another fhandler_console bug 22 Jan 1999 07:21:57 -0800 Message-ID: <19990122100202.A26873.cygnus.cygwin32.developers@cygnus.com> References: <19990122144234 DOT 7502 DOT rocketmail AT send103 DOT yahoomail DOT com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii To: earnie_boyd AT yahoo DOT com, Kazuhiro Fujieda , cygwin32-developers AT cygnus DOT com I hate to keep doing this to Kazuhiro, but I have announced that I'm working on the console handling problem a number of times on cygwin32_developers. I have, hopefully, fixed this problem and many others in my private copy of cygwin. My changes fundamentally change the layout of fhandler_console and fhandler_tty_*, creating a base class which is used by both. The end result is that the console acts more like the way ttys operate now. That means that ^Z should work, CTRL-U should work, CTRL-D should do what it is supposed to, etc. One of the things that I've done is to extend the size of the type-ahead buffer *a lot*. This should solve the problem with arrow keys on Win95. I've been holding off on releasing this until the mount changes are stable. Hopefully, you'll see these changes sometime next week. Again, apologies Kazuhiro. We seem to keep bumping into each other in the cygwin code. It's not intentional. -chris On Fri, Jan 22, 1999 at 06:42:34AM -0800, Earnie Boyd wrote: >---Kazuhiro Fujieda wrote: >> >> When an arrow key is pushed repeatedly in bash executed in notty >> mode on Win9x, the escape sequence correspond to one arrow key >> is often interleaved with another one's. >> >> As a result, part of the sequence (`[D', `[C', and so on) is >> inserted into the command line instead of the cursor motion. >> >> The following patch can solve this problem. >8< > >First let me say, HURRAY to a fix for this problem. > >I've thought this problem to be a readline library problem as not only >does cygwin bash have a problem; but also the Win32 native VIM-4.7 >program. I've seen it happen on NT, also when editing a file on the >diskette or when the working directory was the diskette. > >I also saw this with bash when I was trying to build a native version >of bash which I didn't get completed but got along far enough to have >been able to execute single commands. > >I've said all of this to say the problem isn't winsup specific. In >all cases that I've seen what happens is that the type ahead buffer is >read in the wrong order. Therefore the reason the arrow keys dump >it's data is because it is read as D[\e where \e is the escape >character. I've also seen that if there is a wait due to system busy >and I type ahead the result is the command in mirror image. Therefore >`cd /to/some/directory' ends up being `yrotcerid/emos/to/ dc'. > >So, your change may help but I don't think it will get rid of it >entirely. >== >- \\||// >-------------------o0O0--Earnie--0O0o------------------- >-- earnie_boyd AT yahoo DOT com -- >-- http://www.freeyellow.com/members5/gw32/index.html -- >----------------------ooo0O--O0ooo---------------------- > >PS: Newbie's, you should visit my page. >_________________________________________________________ >DO YOU YAHOO!? >Get your free @yahoo.com address at http://mail.yahoo.com > -- cgf AT cygnus DOT com http://www.cygnus.com/