This is the mail archive of the
cygwin@sourceware.cygnus.com
mailing list for the Cygwin project.
Re: bash-shell output
- To: <gnu-win32 at cygnus dot com>, "Nils Goesche" <ngo at wossolit dot teles dot de>
- Subject: Re: bash-shell output
- From: "Elliott A. Lowe" <elowe at delta dot net>
- Date: Wed, 4 Feb 1998 19:15:31 -0800
- Cc: <ntemacs-users at cs dot washington dot edu>
Bash is actually behaving correctly; your printf() call would do the same
thing on Unix. Since stdout is by default fully line-buffered, any text
that isn't terminated with a newline must be flushed before it will show up.
The way I get around this is to write the prompt to stderr using fprintf(),
since stderr is by default unbuffered.
Elliott
-----Original Message-----
From: Nils Goesche <ngo@wossolit.teles.de>
To: gnu-win32@cygnus.com <gnu-win32@cygnus.com>
Cc: ntemacs-users@cs.washington.edu <ntemacs-users@cs.washington.edu>
Date: Wednesday, February 04, 1998 4:11 PM
Subject: bash-shell output
>Hi!
>
>The following program doesn't work properly when run from bash
>(with `M-x shell' from within Emacs):
>
>#include <stdio.h>
>
>int main()
>{
> int i;
>
> printf("Enter number: ");
> /* fflush(NULL); */
> scanf("%d", &i);
> printf("Got %d.\n", i);
> return 0;
>}
>
>You have to uncomment that fflush-line. But the usual shells
>like command.com or 4nt don't need that line. This is somewhat
>annoying. Can I at least force the shell somehow to flush
>input/output buffers? Some other programs are just unusable
>because of this behavior.
>
>--
>Nils Goesche
>My obscure opinions are my very own.
>
-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".