This is the mail archive of the cygwin@sourceware.cygnus.com 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]

RE: ctl-d, bash and java


Title: 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                               \   |_ S _|
Email: WTerryLincoln@engineer.com            \    |U|
WWW1:  www.AngelFire.com/ny/TerryLincoln      \ / |S| \
WWW2:  <http://terrylincoln.isonfire.com>      \  | |
================================================ ~~~~~
Opinions expressed do not represent the management of UTC.
> -----Original Message-----
> From: tien ho [mailto:h_tien@hotmail.com]
> Sent: Tuesday, August 03, 1999 9:11 AM
> To: cygwin@sourceware.cygnus.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[]= 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<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@sourceware.cygnus.com
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]