Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm Sender: cygwin-owner AT sourceware DOT cygnus DOT com List-Unsubscribe: List-Archive: List-Help: , Delivered-To: mailing list cygwin AT sourceware DOT cygnus DOT com Message-ID: From: "Lincoln, W. Terry" To: "'tien ho'" , cygwin AT sourceware DOT cygnus DOT com Subject: RE: ctl-d, bash and java Date: Wed, 4 Aug 1999 09:39:41 -0400 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2448.0) Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01BEDE87.3A17A272" ------_=_NextPart_001_01BEDE87.3A17A272 Content-Type: text/plain; charset="iso-8859-1" My uname -a says: CYGWIN_NT-4.0 MYPC 21.0 (0.8/1/1) 1998-12-30 20:29:58 i686 unknown When I type: $ cat abcd Bash prompts: abcd$ But as soon as I type a character (x) this happens: abcd$ abcdx IOW, bash (or readline) is using c-d as a way of copying the line to the keyboard buffer; or *not clearing it out*. Then when the next key is pressed the earlier text reappears! W. Terry Lincoln - Senior Engineer \ \ _ / Ultimate Technology Corporation \ \ |J| / a Tridex Company (NASDAQ:trdx) \ _|E|_ ICQ# 39362285 \ |_ S _| Email: WTerryLincoln AT engineer DOT com \ |U| WWW1: www.AngelFire.com/ny/TerryLincoln \ / |S| \ WWW2: \ | | ================================================ ~~~~~ Opinions expressed do not represent the management of UTC. > -----Original Message----- > From: tien ho [mailto:h_tien AT hotmail DOT com] > Sent: Tuesday, August 03, 1999 9:11 AM > To: cygwin AT sourceware DOT cygnus DOT com > Subject: ctl-d, bash and java > > > Hi everybody, > I'm a newbie in bash. I'm testing some examples of javacc. > I'm using cygwin > b20.1 (bash and make) on NT4.0, SP4, english version and jdk > 1.2 to test > javacc simple examples. I do need EOF (ctl-d) to shows the results. > Ctl-d is using to stop the cat in the command cat>myfile. It > works fine in > cygwin. > > The behaviour of bash on ctl-d is quite special (nothing set > in IGNOREEOF). > If I'm right, it was defined the following: > If ctl-d is the first character, then it returns EOF, else delete the > character under the cursor. > > To test it: > I type the command abcd, I will received the following message: > bash: abcd: command not found > If ctl-d is the first character, bash disappears. > > To test with java, I wrote a very simple test program, which > calls the > function System.in.read(b[]). Following is the code: > public class sysIn { > public static void main (String args[]) { > int i; > byte b[]= new byte[256]; > try > { > i = System.in.read(b); > } > catch (IOException ioEx) > { > System.err.println(ioEx); > return; > } > System.out.println(i); > for (int j=0; j < i; j++) > System.out.print(b[j]+" "); > System.out.println(); > } > } > > It displays 1 13 (code of ctl-d), when ctl-d is keyed. > Bash disappers, when "abcd" were keyed. How can I explain it? > > How it reacts with fgets()? > #include > int main(int argc, char** argv) > { > char s[256]; > if (fgets(s,256, stdin )) > { > printf("\nlen: %i\n", strlen(s)); > printf("text: %s\n", s); > } > else > printf("\nempty\n"); > return (1); > } > When I start the test and gave abcd, I recieved: > len: 4 > text: abcd > bash-2.02$ > I gave , bash treats the command abcd and returns > bash: abcd: command not found > > How can I changed the behaviour of bash, so that I can > received ctl-d key > stroke and input buffer will be flushed? > > Thank you for helps > Tien > > > ______________________________________________________ > Get Your Private, Free Email at http://www.hotmail.com > > -- > Want to unsubscribe from this list? > Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com > ------_=_NextPart_001_01BEDE87.3A17A272 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable RE: ctl-d, bash and java

My uname -a says:

CYGWIN_NT-4.0 MYPC 21.0 (0.8/1/1) 1998-12-30 20:29:58 = i686 unknown

When I type:

$ cat
abcd<ctrl-d>

Bash prompts:
abcd$

But as soon as I type a character (x) this = happens:

abcd$ abcdx

IOW, bash (or readline) is using c-d as a way of = copying the line to the keyboard buffer; or *not clearing it out*. Then = when the next key is pressed the earlier text reappears!


W. Terry Lincoln - Senior = Engineer       \     = \   _   /
Ultimate Technology = Corporation           = \     \ |J| /
a Tridex Company = (NASDAQ:trdx)          = ;   \     _|E|_
ICQ# = 39362285          &nbs= p;           &nbs= p;        \   |_ S = _|
Email: = WTerryLincoln AT engineer DOT com       &nbs= p;    \    |U|
WWW1:  = www.AngelFire.com/ny/TerryLincoln      \ / |S| = \
WWW2:  <http://terrylincoln.isonfire.com>  &n= bsp;   \  | |
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D ~~~~~
Opinions expressed do not represent the management = of UTC.
> -----Original Message-----
> From: tien ho [mailto:h_tien AT hotmail DOT com]=
> Sent: Tuesday, August 03, 1999 9:11 AM
> To: cygwin AT sourceware DOT cygnus DOT com
> Subject: ctl-d, bash and java
>
>
> Hi everybody,
> I'm a newbie in bash. I'm testing some examples = of javacc.
> I'm using cygwin
> b20.1 (bash and make) on NT4.0, SP4, english = version and jdk
> 1.2 to test
> javacc simple examples. I do need EOF (ctl-d) = to shows the results.
> Ctl-d is using to stop the cat in the command = cat>myfile. It
> works fine in
> cygwin.
>
> The behaviour of bash on ctl-d is quite special = (nothing set
> in IGNOREEOF).
> If I'm right, it was defined the = following:
> If ctl-d is the first character, then it = returns EOF, else delete the
> character under the cursor.
>
> To test it:
> I type the command abcd<ctl-d>, I will = received the following message:
> bash: abcd: command not found
> If ctl-d is the first character, bash = disappears.
>
> To test with java, I wrote a very simple test = program, which
> calls the
> function System.in.read(b[]). Following is the = code:
> public class sysIn {
>     public static void main = (String args[]) {
>       int = i;
>       byte b[]=3D = new byte[256];
>       try
>       {
>         = i =3D System.in.read(b);
>       }
>       catch = (IOException ioEx)
>       {
>         = System.err.println(ioEx);
>         = return;
>       }
>       = System.out.println(i);
>       for (int = j=3D0; j < i; j++)
>         = System.out.print(b[j]+" ");
>       = System.out.println();
>     }
>   }
>
> It displays 1 13 (code of ctl-d), when ctl-d is = keyed.
> Bash disappers, when = "abcd<ctl-d>" were keyed. How can I explain it?
>
> How it reacts with fgets()?
> #include <stdio.h>
> int main(int argc, char** argv)
> {
>   char s[256];
>   if (fgets(s,256, stdin ))
>   {
>     printf("\nlen: = %i\n", strlen(s));
>     printf("text: = %s\n", s);
>   }
>   else
>     = printf("\nempty\n");
>   return (1);
> }
> When I start the test and gave = abcd<ctl-d>, I recieved:
> len: 4
> text: abcd
> bash-2.02$
> I gave <ENTER>, bash treats the command = abcd and returns
> bash: abcd: command not found
>
> How can I changed the behaviour of bash, so = that I can
> received ctl-d key
> stroke and input buffer will be flushed?
>
> Thank you for helps
> Tien
>
>
> = ______________________________________________________
> Get Your Private, Free Email at http://www.hotmail.com
>
> --
> Want to unsubscribe from this list?
> Send a message to = cygwin-unsubscribe AT sourceware DOT cygnus DOT com
>

------_=_NextPart_001_01BEDE87.3A17A272--