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] |
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] |