This is the mail archive of the cygwin mailing list for the Cygwin project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On Mar 25 16:26, Denis Excoffier wrote: > On 2015-03-24 20:53, Corinna Vinschen wrote: > > - However, if you start xterm from the X server tray icon and then > > call `stty -a' in it, min is set to 4 and script will misbehave. > > If you call `stty min 1' before calling script, script will work > > as expected again. > > > > So, why does the X server (or whatever controls starting applications > > from the X server tray icon) set VMIN to 4? > > > > It seems that this has something to do with tcsh (and not with XWin). > If you arrange your environment in order that the xterm launches /bin/bash > (instead of tcsh), you get min=0 under 'stty -a' and /bin/script behaves > as expected. If afterwards, in such an xterm, you run '/bin/csh -f', you get > min=4. > > Consider the following: > > diff -uNr tcsh-6.18.01-original/ed.init.c tcsh-6.18.01-patched/ed.init.c > --- tcsh-6.18.01-original/ed.init.c 2006-08-24 22:56:08.000000000 +0200 > +++ tcsh-6.18.01-patched/ed.init.c 2015-03-25 15:56:33.000000000 +0100 > @@ -65,7 +65,7 @@ > (uc)CDSWTCH, (uc)CERASE2, (uc)CSTART, (uc)CSTOP, > (uc)CWERASE, (uc)CSUSP, (uc)CDSUSP, (uc)CREPRINT, > (uc)CDISCARD, (uc)CLNEXT, (uc)CSTATUS, (uc)CPAGE, > - (uc)CPGOFF, (uc)CKILL2, (uc)CBRK, (uc)CMIN, > + (uc)CPGOFF, (uc)CKILL2, (uc)CBRK, (uc)1, > (uc)CTIME > }, > { > > In the original code, CMIN is set to CEOF and CEOF is set to Control-D, hence > min=4. With the patch above, all seems to go well. But this does not > explain why the min=4 is not permanent. Thanks for looking into that. I'm not sure either why this doesn't occur all the time, but the culprit seems to be this snippet in ed.term.h: #ifndef CMIN # define CMIN CEOF #endif /* CMIN */ The default value for CEOF is '\4'. And no header on Cygwin defines CMIN, so this looks like two bugs in one (buy one, get one free). Per `git blame' this code in tcsh is from 1991, so maybe we have two 20th century bugs here. I'll ask the tcsh maintainer and add a definition for CMIN to 1 (as on Linux) to the headers for the next Cygwin version. Thanks, Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Maintainer cygwin AT cygwin DOT com Red Hat
Attachment:
pgpD6NqUSC_uu.pgp
Description: PGP signature
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |