Path: utzoo!utgpu!utstat!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!gem.mps.ohio-state.edu!unix.cis.pitt.edu!pitt!darth!investor!rbp From: rbp@investor.pgh.pa.us (Bob Peirce #305) Newsgroups: comp.emacs Subject: Re: MicroEmacs 3.10 for MIPS Message-ID: <1989Nov13.164745.12503@investor.pgh.pa.us> Date: 13 Nov 89 16:47:45 GMT References: <1989Nov10.051358.25964@ux1.cso.uiuc.edu> <3749@altos86.Altos.COM> Reply-To: rbp@investor.pgh.pa.us (Bob Peirce #305) Organization: Cookson, Peirce & Co. Lines: 27 In article <3749@altos86.Altos.COM> jerry@altos86.UUCP (Jerry Gardner) writes: > >It depends on the OS type you have defined in estruct.h. The code that >implements function and cursor keys is in the file tcap.c. If you have >set the OS type to generic UNIX (USG I think) in estruct.h, function and >cursor keys will not work. They do work in XENIX, BSD, and SunOS. The >reason they don't work for generic UNIX (this includes SysV), according >to the comments in tcap.c, is that the author couldn't find a way to >delay for 30msec after an ESC character came in before deciding whether >it was part of an escape sequence generated by a function key or by a >fast typist doing something like ESC G. > >If you know of a system call on your OS to delay for approx. 30msec, hack >the code in tcap.c and add the delay. Use the code #ifdef'd for XENIX or >BSD as an example. > This always confuses me, but there is a way to time-out your input on SysV. Guy Harris, I think, wrote a piece on this a while back. It is not [well] documented in the manuals but you use the VEOF and VEOL field of c_cc in the termio structure. I wish I could tell you more. I think vi uses this feature. Some other programs must as well. If you have access to source it is probably easier to look than to figure it out from any documentaion you can find! -- Bob Peirce, Pittsburgh, PA 412-471-5320 ...!uunet!pitt!investor!rbp rbp@investor.pgh.pa.us